package fenetre;

import java.awt.*;
import java.awt.event.*;
import java.util.Vector;

import javax.swing.*;
import javax.swing.border.LineBorder;

public class TabJoueur extends JPanel implements ActionListener{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	/**
	 * 
	 */
	private Dimension			_dimGrille;
	private JLabel				_lblNomJoueur,
								_lblCouleur,
								_lblEnergie,
								_lblNbEnergie;
	private JFormattedTextField	_txtNomJoueur;
	private JComboBox<String>	_cbCouleur;
	private JButton[][] 		_btnGrille;
	private JButton				_btnOk,
								_btnAnnuler,
								_btnEffacer;
	
	private void init(int wGrille, int hGrille){
		_dimGrille = new Dimension(wGrille, hGrille);
		
		_lblNomJoueur = new JLabel("Nom joueur");
		_lblCouleur = new JLabel("Couleur d'equipe");
		_lblEnergie = new JLabel("Energies restantes");
		_lblNbEnergie = new JLabel("0");
		
		_txtNomJoueur = new JFormattedTextField();
		_txtNomJoueur.setColumns(10);
		_cbCouleur = new JComboBox<String>(setCouleurs(new Vector<String>()));
		
		_btnGrille = new JButton[_dimGrille.height][_dimGrille.width];
		for(int i = 0; i < _dimGrille.height; i++)
			for(int j = 0; j < _dimGrille.width; j++){
				_btnGrille[i][j] = new JButton();
				_btnGrille[i][j].setBackground(Color.gray);
				_btnGrille[i][j].setBorder(new LineBorder(Color.lightGray, 1));
			}
		
		_btnOk = new JButton("Ok");
		_btnAnnuler = new JButton("Annuler");
		_btnEffacer = new JButton("Effacer");
	}
	
	private Vector<String> setCouleurs(Vector<String> v){
		v.add("Blue");
		v.add("Red");
		v.add("Yellow");
		v.add("Green");
		return v;
	}
	
	public TabJoueur(int wGrille, int hGrille){
		init(wGrille, hGrille);
		build();
	}
	
	private void build(){
		//North
		FlowLayout f = new FlowLayout();
		f.setHgap(30);
		JPanel north = new JPanel(f);
		
		north.add(_lblNomJoueur);
		north.add(_txtNomJoueur);
		north.add(_lblCouleur);
		north.add(_cbCouleur);
		north.setAlignmentX(CENTER_ALIGNMENT);
		add("North", north);
		
		//South
		JPanel south = new JPanel(new FlowLayout());
		
		south.add(_btnOk);
		south.add(_btnAnnuler);
		south.add(_btnEffacer);
		add("South", south);
		
		//East
		JPanel east = new JPanel(new BorderLayout());
		
		east.add("Center", _lblEnergie);
		east.add("Center", _lblNbEnergie);
		add("East", east);
		
		//Center
		JPanel center = new JPanel(new GridLayout(_dimGrille.height, _dimGrille.width));
		
		for(int i = 0; i < _dimGrille.height; i++)
			for(int j = 0; j < _dimGrille.width; j++)
				center.add(_btnGrille[i][j]);
		add("Center", center);		
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		
	}
}
